Controller তৈরি এবং কনফিগার করা

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter Controllers |

Controller হলো CodeIgniter এর গুরুত্বপূর্ণ উপাদান, যা ইউজার রিকোয়েস্ট গ্রহণ করে, প্রাসঙ্গিক মডেল ও ভিউ লোড করে এবং আউটপুট প্রেরণ করে। CodeIgniter এ MVC (Model-View-Controller) আর্কিটেকচারের অংশ হিসেবে কন্ট্রোলার অ্যাপ্লিকেশনের লজিক পরিচালনা করে।


কন্ট্রোলার তৈরি করার নিয়ম

CodeIgniter এ কন্ট্রোলার একটি PHP ক্লাস, যা CI_Controller-এর সাবক্লাস। প্রতিটি কন্ট্রোলার ফাইল app/Controllers ডিরেক্টরিতে রাখা হয়।

কন্ট্রোলার তৈরির ধাপ

  1. app/Controllers ডিরেক্টরিতে যান।
  2. একটি নতুন PHP ফাইল তৈরি করুন (যেমন: Welcome.php)।
  3. ক্লাসটি CI_Controller থেকে এক্সটেন্ড করুন এবং namespace App\Controllers; ব্যবহার করুন।

উদাহরণ: একটি সাধারণ কন্ট্রোলার

<?php

namespace App\Controllers;

class Welcome extends BaseController
{
    public function index()
    {
        return "Welcome to CodeIgniter!";
    }
}

কন্ট্রোলার কনফিগার করা

ডিফল্ট কন্ট্রোলার সেটআপ

CodeIgniter এ ডিফল্ট কন্ট্রোলার সেট করা হয় app/Config/Routes.php ফাইলে।

  1. app/Config/Routes.php ফাইলটি খুলুন।
  2. ডিফল্ট কন্ট্রোলার নির্ধারণ করতে:

    $routes->setDefaultController('Welcome'); // 'Welcome' ক্লাস ডিফল্ট কন্ট্রোলার
    

কাস্টম রাউট সেটআপ

কাস্টম URL নির্ধারণ করতে:

$routes->get('about', 'Pages::about'); // 'Pages' ক্লাসের 'about' মেথড

কন্ট্রোলারে মেথড যোগ করা

কন্ট্রোলারে প্রতিটি ফাংশন (মেথড) একটি রিকোয়েস্ট হ্যান্ডল করে। একটি মেথডের মাধ্যমে ডেটা প্রক্রিয়া করা যায় এবং প্রাসঙ্গিক ভিউ প্রদর্শন করা যায়।

উদাহরণ: একাধিক মেথড

<?php

namespace App\Controllers;

class Pages extends BaseController
{
    public function home()
    {
        return view('home'); // 'home' ভিউ লোড
    }

    public function about()
    {
        return view('about'); // 'about' ভিউ লোড
    }
}

কন্ট্রোলারে মডেল এবং ভিউ লোড করা

মডেল লোড করা

CodeIgniter এর মডেল ব্যবহার করতে কন্ট্রোলারে লোড করতে হয়।

<?php

namespace App\Controllers;

use App\Models\ProductModel;

class Product extends BaseController
{
    public function index()
    {
        $productModel = new ProductModel();
        $data['products'] = $productModel->findAll(); // ডাটাবেস থেকে সমস্ত ডেটা আনা
        return view('product_list', $data); // ভিউ-এ ডেটা পাঠানো
    }
}

ভিউ লোড করা

return view('view_name', $data);
  • view_name হলো ভিউ ফাইলের নাম।
  • $data একটি অ্যারে, যা ভিউতে ডেটা পাঠায়।

Route এবং URL থেকে কন্ট্রোলার অ্যাক্সেস

  1. কন্ট্রোলারের মেথড অ্যাক্সেস করতে ব্রাউজারে নিচের মতো URL ব্যবহার করুন:

    http://localhost/your_project_name/controller_name/method_name
    

    উদাহরণ:

    http://localhost/your_project_name/welcome/index
    
  2. যদি index মেথড ডিফল্ট হয়, তাহলে মেথড নাম না দিলেও কাজ করবে:

    http://localhost/your_project_name/welcome
    

Route এবং Security

Route Middleware ব্যবহার

Middleware ব্যবহার করে কন্ট্রোলারে সিকিউরিটি বা অন্যান্য কার্যক্রম পরিচালনা করা যায়।

$routes->get('admin', 'Admin::index', ['filter' => 'auth']);

Unauthorized Access রোধ

নির্দিষ্ট ফাংশনে এক্সেস নিয়ন্ত্রণ করতে পারেন:

if (!session()->get('isLoggedIn')) {
    return redirect()->to('/login');
}

সারসংক্ষেপ

  1. কন্ট্রোলার তৈরি: app/Controllers ডিরেক্টরিতে নতুন ফাইল তৈরি করুন।
  2. ডিফল্ট কন্ট্রোলার কনফিগার: Routes.php ফাইলের মাধ্যমে।
  3. মডেল ও ভিউ লোড: ডেটা প্রক্রিয়াকরণ এবং প্রদর্শনের জন্য।
  4. সিকিউরিটি ব্যবস্থাপনা: Middleware এবং Session ব্যবহার করে।

এই ধাপগুলো অনুসরণ করে আপনি CodeIgniter এ কন্ট্রোলার তৈরি এবং কনফিগার করতে পারবেন।

Content added By
Promotion